//index.js
//获取应用实例
const app = getApp();
const api = require('../../utils/api.js');

// 获取后台生成的token通行令牌，才允许调用后台接口
// 全局的flage是判断是否登录成功  通过wx.setStorage存储到本地  
// app.globalData.flage提示用户是否登录   登录成功保存在本地的flage为true
// key: 'close',获取本地缓存close key值 来保证是否显示结束小图标  也就是局部的flage
Page({
  data: {
    // 用于地图组件显示的数据
    latitude: null,
    longitude: null,
    controls: [],
    flage: false,
  },
  // 点击地图上的控件触发的事件
  controltap: function (e) {
    switch (e.controlId) {
      case 1:

        this.toWelcomePage();
        break;
      case 2:
        this.refreshLocation();
        break;
      case 3:
        this.toWarning();
        break;
      case 5:
        this.toMyPage();
        break;
      case 6:
        this.toWelcomePage();
        break;
    }
  },
  // 获取屏幕信息函数
  getSystemInfoData: function () {
    const that = this;
    wx.getSystemInfo({
      success: function (res) {

        that.setData({
          controls: [{
              id: 1,
              iconPath: '/utils/icons/use.png',
              position: {
                left: res.windowWidth / 2 - 45,
                top: res.windowHeight - 100,
                width: 90,
                height: 90
              },
              clickable: true
            },
            {
              id: 2,
              iconPath: '/utils/icons/location.png',
              position: {
                left: 20,
                top: res.windowHeight - 80,
                width: 50,
                height: 50
              },
              clickable: true
            },
            {
              id: 3,
              iconPath: '/utils/icons/warn.png',
              position: {
                left: res.windowWidth - 70,
                top: res.windowHeight - 80,
                width: 50,
                height: 50
              },
              clickable: true
            },
            {
              id: 4,
              iconPath: '/utils/icons/marker.png',
              position: {
                left: res.windowWidth / 2 - 9,
                top: res.windowHeight / 2 - 45,
                width: 22,
                height: 45
              },
              clickable: true
            },
            {
              id: 5,
              iconPath: '/utils/icons/avatar.png',
              position: {
                left: res.windowWidth - 68,
                top: res.windowHeight - 155,
                width: 45,
                height: 45
              },
              clickable: true
            },
            {
              id: 6,
              iconPath: '/utils/icons/um.png',
              position: {
                left: res.windowWidth - (Math.random() * (160) + 90),
                top: res.windowHeight - (Math.random() * (350) + 150),
                width: 30,
                height: 30
              },
              clickable: true
            },
            {
              id: 6,
              iconPath: '/utils/icons/um.png',
              position: {
                left: res.windowWidth - (Math.random() * (160) + 90) + 10,
                top: res.windowHeight - (Math.random() * (350) + 150) + 10,
                width: 30,
                height: 30
              },
              clickable: true
            },
            {
              id: 6,
              iconPath: '/utils/icons/um.png',
              position: {
                left: res.windowWidth - (Math.random() * (160) + 90) + 5,
                top: res.windowHeight - (Math.random() * (350) + 150) + 5,
                width: 30,
                height: 30
              },
              clickable: true
            },

          ]
        })
      }
    })
  },
  over: function () {
    wx.navigateTo({
      url: '../order/order',
    })
  },
  // 重新刷新获取位置
  refreshLocation() {
    const that = this;
    wx.showLoading({
      title: '正在刷新位置',
    });
    api.getLocation().then(res => {
      that.setData({
        latitude: res.latitude,
        longitude: res.longitude,
      });
      wx.hideLoading();
    });
  },

  // 跳转去欢迎使用页面
  toWelcomePage() {
    if (!app.globalData.flage) {
      wx.navigateTo({
        url: '../my/my'
      });
    } else {
      const that = this;
      api.checkDeposit(app.globalData.token).then(res => {
        //没交押金跳转去交押金界面
        if (!res.data.data) {
          wx.navigateTo({
            url: '../payDeposit/payDeposit'
          });
        } else {
          wx.navigateTo({
            url: '../welcome/welcome',
          })
        }
      });
    }


  },
  // 跳转去我的钱包页面
  toWalletPage() {
    wx.navigateTo({
      url: '../wallet/wallet'
    })
  },
  toWarning() {
    wx.navigateTo({
      url: '../warn/warn'
    })
  },
  toMyPage() {
    wx.navigateTo({
      url: '../my/my',
    })
  },
  // 页面初始化先执行的方法
  onLoad: function () {

    const that = this;
    // 1.登录,获取用户token
    api.login().then(res => {
        const token = `bearer ${res.data.data['access_token']}`;
        // 放到全局app里去
        app.globalData.token = token;

        wx.showLoading({
          title: '正在查询押金',
        });
        // 2.判断当前用户是否交了押金
        api.checkDeposit(token).then(res2 => {
          wx.hideLoading();
          if (res2.data.data || 1) {
            console.log("判断有没交押金：有");

            that.getSystemInfoData();
            // 6.获取到当前用户的位置,定位在地图上
            wx.showLoading({
              title: '正在获取位置',
            });
            api.getLocation().then(res6 => {
              that.setData({
                latitude: res6.latitude,
                longitude: res6.longitude
              });
              wx.hideLoading();
            });

            if (!app.globalData.flage) {
              setTimeout(() => {
                wx.showModal({
                  title: "温馨提示",
                  content: "请先完成登录",
                  cancelText: "右下角",
                  cancelColor: "#b9dd08",
                  confirmText: "头像",
                  confirmColor: "#b9dd08",
                  success: (res) => {
                    if (res.confirm) {} else if (res.cancel) {}
                  }
                })
              }, 1000);
            }
          } else if (res4.data.code === 23012) {
            wx.redirectTo({
              url: '../pay/pay'
            });
          }
        });

      }

    )





    // if (app.globalData.userInfo) {
    //     this.setData({
    //         userInfo: app.globalData.userInfo,
    //         hasUserInfo: true
    //     })
    // } else if (this.data.canIUse) {
    //     // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
    //     // 所以此处加入 callback 以防止这种情况
    //     app.userInfoReadyCallback = res =>
    //     {
    //         this.setData({
    //             userInfo: res.userInfo,
    //             hasUserInfo: true
    //         })
    //     }
    // } else {
    //     // 在没有 open-type=getUserInfo 版本的兼容处理
    //     wx.getUserInfo({
    //         success: res => {
    //         app.globalData.userInfo = res.userInfo
    //     this.setData({
    //         userInfo: res.userInfo,
    //         hasUserInfo: true
    //       })
    //     }
    //   })
    // }
  },

  onShow: function () {
    const that = this;


    wx.getStorage({
      key: 'close',
      // 能获取到则显示用户信息，并保持登录状态，不能就什么也不做
      success: (res) => {
        // console.log(res)
        that.setData({
          flage: res.data.flage
        })

      }
    });


  }


})